home *** CD-ROM | disk | FTP | other *** search
/ Champak 146 / (Vol 146) Jan 07 2012.iso / Games / scuba.swf / scripts / frame_18 / DoAction_2.as next >
Text File  |  2012-01-07  |  7KB  |  245 lines

  1. function fnInitialize()
  2. {
  3.    gResumeFrame = null;
  4.    gTimeCounter = Number(0);
  5.    gScore = Number(0);
  6.    gOxygenStatus = FULL_OXYGEN;
  7.    gRecruitStatus = "free";
  8.    var gSideOfImpact;
  9.    var gResetOffset;
  10.    var gRecoverTargetY;
  11.    var gRecoverTargetX;
  12.    gRecruitTilt = "none";
  13.    gProdStatus = "not_activated";
  14.    allFishies = new Array("fish1","fish2","fish3","fish4","fish5","fish6");
  15.    i = 0;
  16.    while(i < allFishies.length)
  17.    {
  18.       set(allFishies[i] + ".status","static");
  19.       setProperty(allFishies[i], _X, eval(allFishies[i] + ".vOrigX"));
  20.       setProperty(allFishies[i], _Y, eval(allFishies[i] + ".vOrigY"));
  21.       setProperty(allFishies[i], _visible, 1);
  22.       i++;
  23.    }
  24.    activeFishies = new Array();
  25.    allMines = new Array("mine1","mine2","mine3","mine4");
  26.    i = 0;
  27.    while(i < allMines.length)
  28.    {
  29.       set(allMines[i] + ".status","static");
  30.       setProperty(allMines[i], _X, eval(allMines[i] + ".vOrigX"));
  31.       setProperty(allMines[i], _Y, eval(allMines[i] + ".vOrigY"));
  32.       setProperty(allMines[i], _visible, 1);
  33.       i++;
  34.    }
  35.    activeMines = new Array();
  36.    setProperty("coral", _X, BG_START_POSITION);
  37.    allOxyTanks = new Array("tank1","tank2","tank3","tank4");
  38.    i = 0;
  39.    while(i < allOxyTanks.length)
  40.    {
  41.       set(allOxyTanks[i] + ".status","static");
  42.       setProperty(allOxyTanks[i], _X, eval(allOxyTanks[i] + ".vOrigX"));
  43.       setProperty(allOxyTanks[i], _Y, eval(allOxyTanks[i] + ".vOrigY"));
  44.       setProperty(allOxyTanks[i], _visible, 1);
  45.       i++;
  46.    }
  47.    activeOxyTanks = new Array();
  48.    oxygenGauge.gotoAndStop("oxy" + String(gOxygenStatus));
  49.    skillLevel.gotoAndStop(String(gSkillLevel));
  50.    lowOxyWarning.gotoAndStop("base");
  51.    setProperty("recruit", _visible, 1);
  52.    recruit.gotoAndPlay("enterfromleft");
  53.    if(gInitialized == false)
  54.    {
  55.       gInitialized = true;
  56.    }
  57.    gJumpLoc = false;
  58.    gDifficultyFactorOxy = Number(1);
  59.    gDifficultyFactorFish = Number(1);
  60.    gDifficultyIncr = Number(0.04);
  61. }
  62. function fnBeginGame()
  63. {
  64.    setProperty("recruit", _X, recruit.vOrigX);
  65.    setProperty("recruit", _Y, recruit.vOrigY);
  66.    recruit.gotoAndPlay("swim");
  67.    fnStartScriptClips();
  68. }
  69. function fnStartScriptClips()
  70. {
  71.    gInGame = true;
  72.    skillLevel.gotoAndStop(String(gSkillLevel));
  73.    timer.gotoAndPlay("go");
  74.    scrollerClip.gotoAndPlay("go");
  75.    mineLauncher.gotoAndPlay("launch");
  76.    oxygenLauncher.gotoAndPlay("launch");
  77.    fishLauncher.gotoAndPlay("launch");
  78. }
  79. function fnHelp()
  80. {
  81.    if(gInGame == true)
  82.    {
  83.       gJumpLoc = true;
  84.       fnPauseGame();
  85.    }
  86.    else if(endClip._currentframe == 1 || endClip._currentframe == undefined)
  87.    {
  88.       gResumeFrame = null;
  89.    }
  90.    else
  91.    {
  92.       endClip.gotoAndStop("base");
  93.       endhelp.gotoAndStop("base");
  94.       if(gScore >= 200)
  95.       {
  96.          gResumeFrame = "passend";
  97.       }
  98.       else
  99.       {
  100.          gResumeFrame = "nopassend";
  101.       }
  102.    }
  103.    gotoAndStop(18);
  104. }
  105. function fnResumeGame()
  106. {
  107.    gotoAndStop(24);
  108. }
  109. function fnEndGame()
  110. {
  111.    gPlayAgain = true;
  112.    setProperty("recruit", _visible, 0);
  113.    gInGame = false;
  114.    gRecruitStatus = "dead";
  115.    scrollerClip.gotoAndStop("base");
  116.    timer.gotoAndStop("base");
  117.    endClip.gotoAndPlay("message");
  118.    lowOxyWarning.gotoAndStop("base");
  119.    oxygenGauge.gotoAndStop("oxy0");
  120. }
  121. function fnHitWall()
  122. {
  123.    recruit.vProdFrame = Number(gRechargeFrame);
  124.    if(gHitByFish == true)
  125.    {
  126.       recruit.vHitByFishFrame = Number(Number(recruit.diver._totalframes - Number(recruit.diver._currentframe)) - Number(1));
  127.    }
  128.    gRecruitStatus = "hit";
  129.    scrollerClip.gotoAndStop("base");
  130.    gSideOfImpact = "undetermined";
  131.    var vPixelCounter;
  132.    var topClearCount = Number(1);
  133.    var bottomClearCount = Number(1);
  134.    var rightClearCount = Number(1);
  135.    var leftClearCount = Number(1);
  136.    gResetOffset = 20;
  137.    vPixelCounter = 5;
  138.    while(vPixelCounter < 31)
  139.    {
  140.       if(coral.hitTest(Number(recruit._x),Number(Number(recruit._y) - Number(vPixelCounter)),true) == false)
  141.       {
  142.          topClearCount++;
  143.       }
  144.       else
  145.       {
  146.          topClearCount--;
  147.       }
  148.       if(coral.hitTest(Number(recruit._x),Number(Number(recruit._y) + Number(vPixelCounter)),true) == false)
  149.       {
  150.          bottomClearCount++;
  151.       }
  152.       else
  153.       {
  154.          bottomClearCount--;
  155.       }
  156.       if(coral.hitTest(Number(Number(recruit._x) + Number(vPixelCounter)),Number(recruit._y),true) == false)
  157.       {
  158.          rightClearCount++;
  159.       }
  160.       else
  161.       {
  162.          rightClearCount--;
  163.       }
  164.       if(coral.hitTest(Number(Number(recruit._x) - Number(vPixelCounter)),Number(recruit._y),true) == false)
  165.       {
  166.          leftClearCount++;
  167.       }
  168.       else
  169.       {
  170.          leftClearCount--;
  171.       }
  172.       vPixelCounter++;
  173.    }
  174.    if(rightClearCount < topClearCount && rightClearCount < bottomClearCount && 0() || 25 < Number(leftClearCount - rightClearCount))
  175.    {
  176.       gSideOfImpact = "right";
  177.    }
  178.    else if(bottomClearCount >= topClearCount && rightClearCount >= topClearCount)
  179.    {
  180.       gSideOfImpact = "top";
  181.    }
  182.    else
  183.    {
  184.       gSideOfImpact = "bottom";
  185.    }
  186.    if(gSideOfImpact == "top")
  187.    {
  188.       gRecoverTargetY = Number(Number(recruit._y) + Number(gResetOffset));
  189.    }
  190.    else if(gSideOfImpact == "bottom")
  191.    {
  192.       gRecoverTargetY = Number(Number(recruit._y) - Number(gResetOffset));
  193.    }
  194.    else if(gSideOfImpact == "right")
  195.    {
  196.       if(BG_RIGHT_LIMIT < Number(coral._x + Number(gResetOffset)))
  197.       {
  198.          gRecoverTargetX = Number(BG_LEFT_LIMIT + Number(Number(coral._x + Number(gResetOffset)) - Number(BG_RIGHT_LIMIT)));
  199.       }
  200.       else
  201.       {
  202.          gRecoverTargetX = Number(coral._x + Number(gResetOffset));
  203.       }
  204.    }
  205.    gRecruitStatus = "recovering";
  206.    fnRunIntoSomething("WALL");
  207.    recruit.gotoAndPlay("hitwall");
  208. }
  209. function fnWallHitDone()
  210. {
  211.    gRecruitStatus = "free";
  212.    recruit.vProdFrame = gProdRechargeFrame;
  213.    recruit.gotoAndPlay("swim");
  214.    scrollerClip.gotoAndPlay("go");
  215. }
  216. function fnTakeOxygen()
  217. {
  218.    gOxygenStatus = Number(gOxygenStatus + Number(TANK_REFILL));
  219.    if(FULL_OXYGEN < gOxygenStatus)
  220.    {
  221.       gOxygenStatus = FULL_OXYGEN;
  222.    }
  223.    oxygenGauge.gotoAndStop("oxy" + gOxygenStatus);
  224. }
  225. function fnRunIntoSomething(penalty)
  226. {
  227.    gOxygenStatus = Number(gOxygenStatus - Number(eval(penalty + "_PENALTY")));
  228.    if(gOxygenStatus < 1)
  229.    {
  230.       gOxygenStatus = 0;
  231.       fnEndGame();
  232.    }
  233.    oxygenGauge.gotoAndStop("oxy" + gOxygenStatus);
  234. }
  235. function fnCreatureAttack()
  236. {
  237.    gHitByFish = true;
  238.    fnRunIntoSomething("CREATURE");
  239.    recruit.diver.gotoandPlay("hitbyfish");
  240. }
  241. function fnScorePoints()
  242. {
  243.    gScore = Number(gScore + Number(eval("POINTS_FOR_MINE_" + String(gSkillLevel))));
  244. }
  245.